package com.zxj.hadoop.demo.mapreduce.groupingcomporator;

import org.apache.hadoop.io.WritableComparable;
import org.apache.hadoop.io.WritableComparator;

/**
 * @Author 朱小杰
 * 时间 2017-08-26 .17:31
 * 说明 利用reduce端的GroupingComparator来实现将一组bean看成相同的key
 * 用来分组
 * @author
 */
public class ItemidGroupingComparator extends WritableComparator {

    /**
     * 这个类必须写，因为mapreduce需要知道反射成为哪个类
     */
    protected ItemidGroupingComparator() {
        super(OrderBean.class, true);
    }

    @Override
    public int compare(WritableComparable a, WritableComparable b) {
        OrderBean b1 = (OrderBean) a;
        OrderBean b2 = (OrderBean) b;
        //比较两个bean时，只比较这里面的一个字段，如果这里是相等的，那么mapreduce就会认为这两个对象是同一个key
        return b1.getItemid().compareTo(b2.getItemid());
    }
}
